package models

import (
	"github.com/guregu/null"
	"gorm.io/gorm"
)

type Category struct {
	gorm.Model
	Id          int    `gorm:"column:id;" json:"id"`
	Name        string `gorm:"column:name;" json:"name"`
	Pid         int    `gorm:"column:pid;default:-1;" json:"pid"`
	Description string `gorm:"column:description;" json:"description"`
	Status      string `gorm:"column:status;default:'0';" json:"status"`
	CreateBy    int    `gorm:"column:create_by;" json:"createBy"`
	UpdateBy    int    `gorm:"column:update_by;" json:"updateBy"`
	DelFlag     string `gorm:"column:del_flag;default:0;" json:"delFlag"`
}
type CategoryVo struct {
	gorm.Model
	Id          string `gorm:"column:id;" json:"id"`
	Name        string `gorm:"column:name;" json:"name"`
	Pid         int    `gorm:"column:pid;default:-1;" json:"pid"`
	Description string `gorm:"column:description;" json:"description"`
	Status      string `gorm:"column:status;default:'0';" json:"status"`
	CreateBy    int    `gorm:"column:create_by;" json:"createBy"`
	UpdateBy    int    `gorm:"column:update_by;" json:"updateBy"`
	DelFlag     string `gorm:"column:del_flag;default:0;" json:"delFlag"`
}
type CategoryDto struct {
	Id          null.Int `gorm:"column:id;" json:"id"`
	Name        string   `gorm:"column:name;" json:"name"`
	Description string   `gorm:"column:description;" json:"description"`
	Status      null.Int `gorm:"column:status;" json:"status"`
}

func (Category) TableName() string {
	return "sg_category"
}
func (CategoryVo) TableName() string {
	return "sg_category"
}
